package com.ruoyi.core.service;

import java.util.List;
import com.ruoyi.core.domain.GiftCard;
import com.ruoyi.core.domain.vo.GiftCardVo;

import javax.servlet.http.HttpServletRequest;

/**
 * 礼品卡Service接口
 * 
 * @author lgc
 * @date 2020-08-08
 */
public interface IGiftCardService 
{
    /**
     * 查询礼品卡
     * 
     * @param giftCardId 礼品卡ID
     * @return 礼品卡
     */
    public GiftCard selectGiftCardById(Long giftCardId);

    /**
     * 查询礼品卡列表
     * 
     * @param giftCard 礼品卡
     * @return 礼品卡集合
     */
    public List<GiftCardVo> selectGiftCardList(GiftCard giftCard);

    /**
     * 新增礼品卡
     * 
     * @param giftCard 礼品卡
     * @return 结果
     */
    public int insertGiftCard(GiftCard giftCard,Long startCode,Long endCode,Long userId);

    /**
     * 修改礼品卡
     * 
     * @param giftCard 礼品卡
     * @return 结果
     */
    public int updateGiftCard(GiftCard giftCard);

    /**
     * 批量删除礼品卡
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteGiftCardByIds(String ids);

    /**
     * 删除礼品卡信息
     * 
     * @param giftCardId 礼品卡ID
     * @return 结果
     */
    public int deleteGiftCardById(Long giftCardId);

    Boolean checkCode(String code,Long userId);

    /**
     * 修改礼品卡状态
     *
     * @param ids 礼品卡ID
     * @return 结果
     */
    int updateStatesByIds(String ids,Long userId);

    int updateStatesBy(Long startCode, Long endCode, Long userId);

    Long testCode(String code, String password,Long userId);

    void checkCodes(String code,Long userId);


}
